//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//

package com.neurosky.thinkgear;

public class QRSdetect1 {
    public QRSdetect1() {
    }

    public static int[] QRSdetectEKG(int[] var0) {
        int[] var1 = new int[(int)((double)var0.length / 360.0D * 3.0D)];
        int var4 = 0;
        int var5 = 0;
        int var6 = 0;
        int var7 = 0;
        int var8 = 0;
        int var3 = 0;
        int var10;
        int var11;
        int var12;
        int var13;
        int var14;
        int var15;
        int var17;
        int var16;
        int var2 = var17 = var16 = var15 = var14 = var13 = var12 = var11 = var10 = var0[0];
        int var18 = 0;

        for(int var19 = 0; var19 < var0.length; ++var19) {
            int var9;
            var2 = (var9 = var0[var19]) + 4 * var10 + var11 * 6 + 4 * var12 + var13 - var14 - 4 * var15 - var16 * 6 - 4 * var17 - var2;
            if(var19 % 720 == 0) {
                if(var6 == 0) {
                    if((var3 -= var3 >> 4) < 0) {
                        var3 = 0;
                    }
                } else if(var6 >= 5 && (var3 += var3 >> 4) > 0) {
                    var3 = 0;
                }
            }

            if(var6 == 0 && Math.abs(var2) > var3) {
                var6 = 1;
                var8 = 57;
                var4 = var2 > 0?1:-1;
                var7 = var19;
            }

            if(var6 != 0) {
                if(var2 * var4 < -var3) {
                    var4 = -var4;
                    ++var6;
                    var8 = var6 > 4?72:57;
                } else if(var2 * var4 > var3 && Math.abs(var2) > var5) {
                    var5 = Math.abs(var2);
                }

                if(var8-- < 0) {
                    if(2 <= var6 && var6 <= 4) {
                        if((var3 += (var5 >> 2) - var3 >> 3) < 0) {
                            var3 = 0;
                        } else if(var3 > 0) {
                            var3 = 0;
                        }

                        var1[var18] = var7;
                        ++var18;
                    } else if(var6 >= 5) {
                        var1[var18] = -var7;
                        ++var18;
                    }

                    var6 = 0;
                }
            }

            var2 = var17;
            var17 = var16;
            var16 = var15;
            var15 = var14;
            var14 = var13;
            var13 = var12;
            var12 = var11;
            var11 = var10;
            var10 = var9;
        }

        int[] var20 = new int[var18];
        System.arraycopy(var1, 0, var20, 0, var18);
        return var20;
    }
}
